<template>
  <div class="site-wrapper site-page--login">
    <div class="site-content__wrapper">
      <div class="site-content">
        <div class="brand-info">
          <h2 class="brand-info__text">优速搭<gd-icon :icon-name="'emojione:rocket'"></gd-icon></h2>
          <p class="brand-info__intro">
            优速搭,一款支持高代码、低代码、零代码的多端适配的全栈开发框架。
          </p>
        </div>
        <div class="login-main">
          <h3 class="login-title">管理员登录</h3>
          <el-radio-group v-model="loginFormType">
            <el-radio :label="'tenant'">租户</el-radio>
            <el-radio :label="'emailPhone'">邮箱手机号</el-radio>
          </el-radio-group>
          <el-form
            ref="dataForm"
            :model="dataForm"
            :rules="dataRule"
            status-icon
            @keyup.enter.native="dataFormSubmit()"
          >
            <template v-if="loginFormType === 'tenant'">
              <el-form-item prop="tenantCode">
                <el-input
                  v-model="dataForm.tenant.tenantCode"
                  placeholder="租户号"
                />
              </el-form-item>
              <el-form-item prop="username">
                <el-input
                  v-model="dataForm.tenant.username"
                  placeholder="帐号"
                />
              </el-form-item>
              <el-form-item prop="password">
                <el-input
                  v-model="dataForm.tenant.password"
                  type="password"
                  placeholder="密码"
                />
              </el-form-item>
            </template>
            <template v-else>
              <el-form-item prop="emailOrPhoneNumber">
                <el-input
                  v-model="dataForm.emailPhone.emailOrPhoneNumber"
                  placeholder="帐号"
                />
              </el-form-item>
              <el-form-item prop="password">
                <el-input
                  v-model="dataForm.emailPhone.password"
                  type="password"
                  placeholder="密码"
                />
              </el-form-item>
            </template>
            <el-form-item>
              <el-button
                class="login-btn-submit"
                type="primary"
                @click="dataFormSubmit()"
                >登录</el-button
              >
            </el-form-item>
			<el-form-item>
			  <el-button
			    class="login-btn-submit"
			    type="primary"
			    @click="loginInOAth2"
			    >DCloud账号登录</el-button
			  >
			</el-form-item>
          </el-form>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import { isSuccessReqBackend } from "@/config/utils";
import { login } from "@/services/sys";
import { jumpTo } from "@gd-accbuild-core/pages/hooks/hackVueRouter";
export default {
  data() {
    return {
      loginFormType: "tenant",
      dataForm: {
        tenant: {
          tenantCode: "Default",
          username: "admin",
          password: "123456",
        },
        emailPhone: {
          emailOrPhoneNumber: "", //'admin@tt.com',
          password: "", //'123456'
        },
      },
      dataRule: {
        tenant: {
          tenantCode: [
            { required: true, message: "租户不能为空", trigger: "blur" },
          ],
          username: [
            { required: true, message: "帐号不能为空", trigger: "blur" },
          ],
          password: [
            { required: true, message: "密码不能为空", trigger: "blur" },
          ],
        },
        emailPhone: {
          emailOrPhoneNumber: [
            { required: true, message: "邮箱密码不能为空", trigger: "blur" },
          ],
          password: [
            { required: true, message: "密码不能为空", trigger: "blur" },
          ],
        },
      },
    };
  },
  created() {},
  methods: {
    // 提交表单
    dataFormSubmit() {
      this.$refs["dataForm"].validate((valid) => {
        if (valid) {
          login(this.dataForm[this.loginFormType]).then((res) => {
            uni.setStorageSync("uni_id_token", res.token);
            uni.setStorageSync("uni_id_token_expired", res.tokenExpired);
            uni.navigateTo({ url: "/" });
          });
        }
      });
    },
	loginInOAth2(){
		jumpTo({
			url:`https://account.dcloud.net.cn/oauth2/webAuthorize?client_id=4Zsaqs6xlN&redirect_uri=${encodeURIComponent("http://localhost:5173/gd-accbuild/")}&response_type=code`
		})
	}
  },
};
</script>

<style lang="scss">
.site-wrapper.site-page--login {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(38, 50, 56, 0.6);
  overflow: hidden;
  &:before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url(~@/static/images/login_bg.jpg);
    background-size: cover;
  }
  .site-content__wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: transparent;
  }
  .site-content {
    min-height: 100%;
    padding: 30px 500px 30px 30px;
  }
  .brand-info {
    margin: 220px 100px 0 90px;
    color: #fff;
  }
  .brand-info__text {
    margin: 0 0 22px 0;
    font-size: 48px;
    font-weight: 400;
    text-transform: uppercase;
  }
  .brand-info__intro {
    margin: 10px 0;
    font-size: 16px;
    line-height: 1.58;
    opacity: 0.6;
  }
  .login-main {
    position: absolute;
    top: 0;
    right: 0;
    padding: 150px 60px 180px;
    width: 470px;
    min-height: 100%;
    background-color: #fff;
  }
  .login-title {
    font-size: 16px;
  }
  .login-captcha {
    overflow: hidden;
    > img {
      width: 100%;
      cursor: pointer;
    }
  }
  .login-btn-submit {
    width: 100%;
    margin-top: 38px;
  }
}
</style>
